﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Xml.Serialization;
using System.IO;

namespace HelloWorld
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        czlowiek arek = new czlowiek("arek",10);
        czlowiek marek = new czlowiek("marek", 23);
        czlowiek beata = new czlowiek("beata", 7);
        List<czlowiek> ludzie;    
        private void button1_Click(object sender, EventArgs e)
        {
            ludzie = new List<czlowiek>();
            ludzie.Add(arek);
            ludzie.Add(marek);
            ludzie.Add(beata);
            foreach (czlowiek test in ludzie)
                MessageBox.Show(test.ToString());
            ludzie.Sort();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (ludzie != null)
            {
                TextWriter tw;
                XmlSerializer sr = new XmlSerializer(typeof(czlowiek));

                foreach (czlowiek gosciu in ludzie)
                {
                    try
                    {
                        tw = new StreamWriter("dane\\" + gosciu.Imie + ".xml");
                        sr.Serialize(tw, gosciu);
                        tw.Close();
                    }
                    catch (Exception exp)
                    {
                        System.IO.Directory.CreateDirectory("dane");
                        MessageBox.Show(exp.Message);
                    }
                }
            }         
        }
        private void button3_Click(object sender, EventArgs e)
        {
            TextReader tr = new StreamReader("dane\\arek.xml");
            XmlSerializer sr = new XmlSerializer(typeof(czlowiek));
            czlowiek nowy = (czlowiek)sr.Deserialize(tr);
            MessageBox.Show(nowy.ToString());
        }
    }
}